package com.ruoyi.outbound.outbound.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.outbound.outbound.domain.Outbound;

/**
 * 出库单Service接口
 * 
 * @author zzx
 * @date 2024-02-21
 */
public interface IOutboundService 
{
    /**
     * 查询出库单
     * 
     * @param containerNumber 出库单主键
     * @return 出库单
     */
    public Outbound selectOutboundByConsignmentId(String containerNumber);

    /**
     * 查询出库单列表
     * 
     * @param outbound 出库单
     * @return 出库单集合
     */
    public List<Outbound> selectOutboundList(Outbound outbound);

    /**
     * 新增出库单
     * 
     * @param outbound 出库单
     * @return 结果
     */
    public int insertOutbound(Outbound outbound);

    /**
     * 修改出库单
     * 
     * @param outbound 出库单
     * @return 结果
     */
    public int updateOutbound(Outbound outbound);

    /**
     * 批量删除出库单
     * 
     * @param consignmentIds 需要删除的出库单主键集合
     * @return 结果
     */
    public int deleteOutboundByConsignmentIds(String[] consignmentIds);

    /**
     * 删除出库单信息
     * 
     * @param consignmentId 出库单主键
     * @return 结果
     */
    public int deleteOutboundByConsignmentId(String consignmentId);

    /**
     * 审核出库信息
     * @param containerNumbers
     * @return
     */
    AjaxResult updateAudit(String[] containerNumbers);

    /**
     * 反审核出库信息
     * @param containerNumbers
     * @return
     */
    AjaxResult updateUnAudit(String[] containerNumbers);

}
